using ConsoleApp;

namespace ConsoleApp1;

using misinforms = System.Drawing;
using windows = System.Windows;

public class DoubleColon
{
    //使用命名空间别名限定符 :: 访问已设置别名的命名空间的成员。 只能使用两个标识符之间的 :: 限定符。 左侧标识符可以是命名空间别名、外部别名或 global 别名之一。
    public static misinforms::Point Convert(misinforms::Point point) => new misinforms::Point(point.X, point.Y);

    public static Point Convert(Point point) => new Point(point.X, point.Y, 2.0);

    //global 别名，该别名是全局命名空间别名。 全局命名空间是包含未在命名空间中声明的命名空间和类型的命名空间。 与 :: 限定符一起使用时，global 别名始终引用全局命名空间，即使存在用户定义的 global 命名空间别名也是如此。
    // 以下示例使用 global 别名访问 .NET System 命名空间，该命名空间是全局命名空间的成员。 如果没有 global 别名，则将访问用户定义的 System 命名空间（该命名空间是 MyCompany.MyProduct 命名空间的成员）：
    // 仅当 global 关键字是 :: 限定符的左侧标识符时，该关键字才是全局命名空间别名。
    static void t1() => global::System.Console.WriteLine("Using global alias");
}